import java.util.ArrayList;


public class Node
{
    private Node parent ;
    private Node[] children ;
    private ArrayList<State> value ;
    private String input ;
    
    /**
     * The Constructor
     */
    public Node()
    {}
    
	/**
	 * @return the parent
	 */
	public Node getParent()
	{
		return parent;
	}



	/**
	 * @param parent the parent to set
	 */
	public void setParent(Node parent)
	{
		this.parent = parent;
	}



	/**
	 * @return the children
	 */
	public Node[] getChildren()
	{
		return children;
	}



	/**
	 * @param children the children to set
	 */
	public void setChildren(Node[] children)
	{
		this.children = children;
	}



	/**
	 * @return the value
	 */
	public ArrayList<State> getValue()
	{
		return value;
	}



	/**
	 * @param value the value to set
	 */
	public void setValue(ArrayList<State> value)
	{
		this.value = value;
	}



	/**
	 * @return the input
	 */
	public String getInput()
	{
		return input;
	}



	/**
	 * @param input the input to set
	 */
	public void setInput(String input)
	{
		this.input = input;
	}

	public void printNodeValue()
	{
		for(int i = 0 ; i < value.size() ;  i++)
		{
			value.get(i).printState();
		}
	}

	public String toString()
	{
		String result = "";
		for(int i = 0 ; i < value.size() ;  i++)
		{
			result+= value.get(i).toString()+"\n";
		}
		return result ;
	}


	public static void main(String[] args)
	{
	
	}

}
